<html>
<body>
Reports method parameters named identically to a field of a surrounding class.
As a result of such naming, you may accidentally use the parameter when using the identically named field is intended.
<p>A quick-fix is suggested to rename the parameter.</p>
<p><b>Example:</b></p>
<pre><code>
  class Main {
    private String value;

    public Main(String value) {
      value = value.toUpperCase();
    }
  }
  </code></pre>
<!-- tooltip end -->
<p>
  You can configure the following options for this inspection:
</p>
<ol>
  <li>
    <strong>Ignore for property setters</strong> - ignore parameters of simple setters.
  </li>
  <li>
    <strong>Ignore superclass fields not visible from subclass</strong> - ignore <code>private</code>
    fields in a superclass, which are not visible from the method.
  </li>
  <li>
    <strong>Ignore for constructors</strong> - ignore parameters of constructors.
  </li>
  <li>
    <strong>Ignore for abstract methods</strong> - ignore parameters of abstract methods.
  </li>
  <li>
    <strong>Ignore for static method parameters hiding instance fields</strong> - ignore parameters
    of <code>static</code> methods hiding an instance field and to ignore parameters of instance methods in static inner
    classes hiding an instance field of an outer class. While not strictly hiding, such parameters can still be confusing.
  </li>
</ol>

</body>
</html>